package cn.tedu.csmall.product.webapi.mapper;

import cn.tedu.csmall.pojo.entity.Category;
import cn.tedu.csmall.pojo.vo.CategoryListItemVO;
import cn.tedu.csmall.pojo.vo.CategoryStandardVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface CategoryMapper {

    /**
     * 插入类别数据
     * @param category 要插入类别的数据
     * @return 受影响的行数
     */
    int insert(Category category);

    /**
     *
     * @param id
     * @param parent
     * @return
     */
    int updateParentById(@Param("id") Long id, @Param("parent") Integer parent);

    /**
     *
     * @param name
     * @return
     */
    CategoryStandardVO getByName(String name);

    /**
     *
     * @param id
     * @return
     */
    CategoryStandardVO getById(Long id);

    /**
     * 查询类别列表
     * @return 类别列表集合,如果数据表中无数据,则返回长度为0的列表
     */
    List<CategoryListItemVO> list();

    /**
     * 查询类别的列表,各列表项是类别的详情数据
     * @return 类别列表集合,如果数据表中无数据,则返回长度为0的列表
     */
    List<CategoryStandardVO> listDetails();


}
